package com.xy.api.model.dto.calculate.maori;

import lombok.Data;

import java.math.BigDecimal;

@Data
public class MaoriProductInstanceDTO {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 产品ID
     */
    private Long costingProductId;

    /**
     * 产品-长
     */
    private BigDecimal productLength;

    /**
     * 产品-宽
     */
    private BigDecimal productWidth;

    /**
     * 产品-高
     */
    private BigDecimal productHeight;

    /**
     * 装箱量
     */
    private Integer outerCartonPackCount;

    /**
     * 装箱-长
     */
    private BigDecimal packetLength;

    /**
     * 装箱-宽
     */
    private BigDecimal packetWidth;

    /**
     * 装箱-高
     */
    private BigDecimal packetHeight;

    /**
     * 单个产品净重
     */
    private BigDecimal productWeight;

    /**
     * 单个产品包装重
     */
    private BigDecimal packageWeight;

    /**
     * 装箱实重
     */
    private BigDecimal packetTrueWeight;

    /**
     * 是否是total，也就是核算信息
     */
    private Integer isTotal;

    /**
     * 占比，同一个product_id下的和为100%
     */
    private Integer percent;

    /**
     * 售价
     */
    private BigDecimal price;

    /**
     * 采购成本（单位是人民币）
     */
    private BigDecimal purchaseCost;

    /**
     * 广告占比
     */
    private BigDecimal advertisingPer;

    /**
     * 折让占比
     */
    private BigDecimal discountPer;

    /**
     * 佣金占比，具体使用时：当前值*（1-discount_per）
     */
    private BigDecimal commissionPer;

    /**
     * 配送费
     */
    private BigDecimal distributionCost;

    /**
     * 仓储费
     */
    private BigDecimal storageCost;

    /**
     * 退款占比
     */
    private BigDecimal refundPer;

    /**
     * 装箱体积重
     */
    private BigDecimal volumeWeight;

    /**
     * 海运重量取值=max(整箱实重,装箱体积重)
     */
    private BigDecimal oceanShipTakeWeight;

    /**
     * 单件总重=单件产品重量+单件产品包装重量
     */
    private BigDecimal productPackageWeight;

    /**
     * 是否删除
     */
    private Integer isDeleted;

    /**
     * 落地成本占比=海运费占比+采购占比
     */
    private BigDecimal landingCostPercent;

    /**
     * 采购占比=采购费用/售价（单位一致）
     */
    private BigDecimal purchasePercent;

    /**
     * 海运费占比=海运费/售价（单位一致）
     */
    private BigDecimal oceanShipCostPercent;

    /**
     * 营销占比=广告占比+折让占比+佣金占比
     */
    private BigDecimal marketPercent;

    /**
     * 配送占比=配送费/售价（单位一致）
     */
    private BigDecimal distributionCostPercent;

    /**
     * 仓储占比=仓储费/售价（单位一致）
     */
    private BigDecimal storageCostPercent;

    /**
     * 运营占比=配送占比+仓储占比+退款占比
     */
    private BigDecimal operationPercent;

    /**
     * 利润率=1-落地占比-营销占比-运营占比
     */
    private BigDecimal profitMargin;

    /**
     * 海运费用(单位是人民币)=海运重量取值/装箱量*海运费价格
     */
    private BigDecimal oceanShipCost;

    /**
     * 回款率=1-market_percent-operation_percent
     */
    private BigDecimal reimbursementRate;

    /**
     * 变体1
     */
    private String variantCodeOneValue;

    /**
     * 变体2
     */
    private String variantCodeTwoValue;

}
